package juc.completablefuture.methods.create;

/**
 * @ClassName SupplyAsyncExample
 * @PackageName juc.completablefuture.methods.create
 * @projectName myThread
 * @Description 
 * @Author games
 * @Date 2025/8/29 上午10:53
 * @Version 1.0
 */

import java.util.concurrent.CompletableFuture;

public class SupplyAsyncExample {
    public static void main(String[] args) {
        /**
         * 作用：执行一个有返回值的异步任务。
         * 返回值：一个 CompletableFuture<U> 对象，表示异步任务的完成状态和结果。
         * 特点：使用默认的 ForkJoinPool.commonPool() 执行器来执行任务。
         */
        CompletableFuture<String> cf = CompletableFuture.supplyAsync(() -> {
            System.out.println("Running in " + Thread.currentThread().getName());
            return "Hello World";
        });

        // 获取任务结果
        String result = cf.join();
        System.out.println(result); // 输出: Hello World
    }
}